Field
The described embodiments relate to techniques for storing information associated with a communication application. More specifically, the described embodiments relate to techniques for indexing multiple messages associated with a user in an index that is divided into multiple divisions for messages in different time intervals if the total number of messages exceeds a threshold value.
Related Art
Incoming and outgoing messages associated with a communication application (such as emails associated with an email application) are often stored in data structures for subsequent use. For example, the messages may be stored in a message table and, to facilitate fast access to particular types of messages (such as unread or read messages), the messages are often indexed.
However, some users of a communication application may have very large numbers of messages, such as 10,000 messages or more. When there are this many messages, it can be time-consuming and difficult to open the index. It can also be difficult to perform subsequent operations on the index, such as searches for particular types of messages or for content (e.g., keywords) in the messages. These delays are frustrating to users and can degrade the user experience when using the communication application.
Note that like reference numerals refer to corresponding parts throughout the drawings. Moreover, multiple instances of the same part are designated by a common prefix separated from an instance number by a dash.